1// Each song's link-preview image, /og/<theme>/<song>.png; drawn in jev/og.mjs. 2import { songCard } from '../../../jev/og.mjs'; 3import { loadSongs } from '../../../jev/songs.mjs'; 4 5export async function getStaticPaths() { 6 const songs = (await loadSongs()).filter((s) => s.code); 7 return songs.map((song) => { 8 const [theme, name] = song.id.split('/'); 9 return { params: { theme, song: name }, props: { song } }; 10 }); 11} 12 13export async function GET({ props }) { 14 return new Response(await songCard(props.song), { headers: { 'Content-Type': 'image/png' } }); 15}